home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-05-30 | 5.0 KB | 149 lines | [TEXT/MPS ] |
- This is plain TeX indexing and cross-reference support for noweb.
-
- total 38
- -rwxr-x--- 1 partingr 959 Aug 2 14:10 TeXthings
- -rwxr-x--- 1 partingr 5544 Aug 2 14:19 addscore.nw
- -rwxr-xr-x 1 partingr 4672 Aug 2 13:35 mm2mx63
- -rwxr-xr-x 1 partingr 5033 Aug 2 13:35 mm2mx64
- -rwxr-xr-x 1 partingr 5180 Aug 2 13:35 mm2mx65
- -rwxr-xr-x 1 partingr 1445 Aug 2 13:37 mm2tex
- -rwxr-xr-x 1 partingr 4109 Aug 2 13:35 mx2tex31
- -rwxr-xr-x 1 partingr 4055 Aug 2 13:35 nwindex.tex
- -rwxr-x--- 1 partingr 67 Aug 2 14:14 nwnweave
- -rwxr-xr-x 1 partingr 35 Aug 2 13:35 nwtangle
- -rwxr-xr-x 1 partingr 64 Aug 2 13:35 nwweave
- -rwxr-xr-x 1 partingr 524 Aug 2 13:58 xpand
-
- This is what each file does/is:
-
- TeXthings perl 'header' file. needs to be somewhere
- perl will find it when it executes mm2mx63
- or mx2tex31 or mm2tex.
-
- mm2mx63 version 6.3 of mm2mx. converts mm files
- (those created by markup) into mx files
- (which is my modified markup file).
- sectionref macros are aaa,aab,aac,aad
- reads from STDIN and outputs to STDOUT
- see below for cli options.
-
- mm2mx64 version 6.4 of mm2mx. virtually the same
- as mm2mx63, but the sectionref macros that
- get created have different names. default
- is za,zc,zd etc. (I have lots of 2 character
- macros for TeX so I don't use this so much,
- but it might be useful...)
-
- mm2mx65 same as mm2mx63, but converts @<name@> in
- documentation chunks into a @use reference
- so you get the reference style in the
- documentation, if you see what I mean.
- EG. "see @<main@>" will become
- "see <main 1a>" if main is defined in 1a
- (with the proper typesetting for the module
- name of course).
-
- mx2tex31 converts mx files into TeX. see below for
- cli options.
-
- mm2tex weaver for normal markup files. tends to be
- faster than awk because perl semi-compiles
- it's programs before execution.
-
- nwindex.tex TeX macros for indexing.
-
- nwnweave shell script to weave a file with certain
- cli options.
-
- nwweave shell script to weave a file with certain
- cli options.
-
- xpand expands ...>> references in markup files.
- !only *after* a full name has been seen!
-
- CLI OPTIONS:
-
- mm2mx63 -i create an identifier index from @ %def lines
- -m create a module index
- -n case insensitive module name matching
- (nb all module names come out in lower case)
-
- mx2tex31 -i create the indexes (from the mx file)
- -n name set the name of the output files. input is
- from STDIN, output is to name.tex and
- name.texnique.
- -s hack for 'only first definition gets the full
- list of defining chunks'.
- (look at output to see the difference)
- -f name takes the markup file from name.markup and
- outputs to name.tex and name.texnique
- -h help message
- -q no output to terminal at all
-
- NWINDEX.MAC
-
- When mx2tex31 creates a TeX file, it inserts 'hooks' into the code
- so that the chunk references can be printed out according to the
- user's preferences.
-
- For all the hooks, \list contains a list of the defining chunks
- of the named chunk and \ulist contains a list of the chunks the
- named chunk is used in.
- (These lists are from Appendix D of The TeXBook. Items are
- seperated by \\ and contained in braces, so a list containing 1,2,3
- would be defined as \def\list{\\{1}\\{2}\\{3}}
-
- For a chunk defined in 1a and 1b, and used in 1c
- \list={\\{1a}\\{1b}}
- \ulist={\\{1c}}
-
- 3 hooks are provided...
-
- \inmodname is called just before the right-angle of the chunk name
- \beforecode is called just after the chunk name (and angles) have
- been set
- \aftercode is called just before \nwendcode{}
-
- The default definitions:
- \inmodname = put the *first* defining chunk xref in chunk names
- \beforecode = empty
- \aftercode = 'This definition is continued in section...' if the name
- is defined in more than one chunk and
- 'This code is used in section...'
-
- [look at the output to see what happens]
- This gives output like the LaTeX cross-referencing (and like CWEB).
-
- There are macros in nwindex.tex for printing out lists neatly
- (ie with commas and 'and' at the end) and for putting
- 'section' or 'sections' at the front of the list.
-
- [if you need more info, either email me or wait for the documentation
- which should be finished this week]
-
- INDEXES
-
- if asked to, mx2tex31 creates two files: name.ids and name.mods
- ids - identifier index
- mods - module index
-
- It *doesn't* include these by default in the TeX file. you have
- to ask for them by putting \printindex{ids} or \printindex{mods}
-
- you have to ask for them because (IMHO) indexes aren't vitally
- important while a program is being developed or for small
- programs.
-
- the indexes are created in seperate files to allow other tools
- to create them independently of mx2tex31. for example, a
- c program could create name.ids by parsing the code chunks
- for identifiers etc. (like CWEB/WEB do) which would be a
- better way of indexing than @ %def lines...
-
-
- BTW I apologise for this documentation. I haven't had a
- chance to get a proper version written yet.
-
- Do people want a TeXinfo version of the documentation or
- just plain TeX file?
-